1. Field of the Invention
The present invention relates generally to storage systems for storing data.
2. Description of Related Art
Thin Provisioned Storage
The amount of enterprise data is growing by more than 60% every year in some industries. Thus, storage administrators in these industries are frequently required to add new storage capacity to their storage systems, which can be quite costly. Also, storage administrators are often required to reduce inefficient use of storage capacity in the systems that they manage due to budget restrictions. To help solve these problems a technology has emerged that is known as a “thin provisioning storage system”. Thin provisioning is an allocation-on-use technology that enables storage space to be allocated to users on a just-enough or just-in-time basis, rather than pre-allocating to users large storage spaces that may not ever be utilized.
A thin provisioning storage system will typically present and initially make available to a user what is essentially a virtual volume that appears to have a very large size. However, the physical storage area of the virtual volume is not allocated for use until the storage space of a particular portion of the volume is actually required by the user. For example, when the user writes data to a certain area of the volume (e.g., issues a write command to a logical block address) for the first time, then an actual storage extent is allocated from physical disks in the thin provisioning storage system for use in the designated portion of the volume. Thus, thin provisioning allows the efficiency of storage capacity utilization to be improved without heavy administrative overhead. When thin provisioning is incorporated, businesses are able to operate with less actual storage capacity, and defer frequent addition of storage capacity, while also reducing the operating costs associated with maintaining large amounts of unused disk capacity. US Pat. Appl. Pub. 2004/0162958, to Kano et al., entitled “Automated On-Line Capacity Expansion Method for Storage Device”, filed Feb. 23, 2004, the disclosure of which is incorporated herein by reference, discloses such a storage system that includes automated on-line capacity expansion capability. This is one of the virtualization technologies which encapsulate the physical structure of the storage devices.
Trends of Disk Capacity and Disk Performance Growth
In addition to the foregoing, the capacity of hard disk drives is increasing rapidly, but the performance of these drives (i.e., the speed of data writing and retrieval) is not keeping pace with the increases in capacity. For example, studies have shown that since 1991, disk drive capacity has been increasing by an average of 60% per year. However, the performance of the disk drives has been increasing by less than 10% per year. This trend of the disproportionate growth of disk capacity relative to the slower increase in disk performance is leading to a performance bottleneck at each disk because a single disk is able to hold huge amounts of data, while the disk interface does not have enough speed to process requests to read or write this huge amount of data. Thus, when a disk holds a large amount of data, and one or more computers are trying to access the data on that disk, a decrease in response time can result as the disk interface attempts to read data from the disk or write data to the disk in response to multiple access requests. As a result, in order to ensure a particular level of performance, each disk might intentionally be used in a low utilization mode (i.e., only a portion of the disk capacity is ever used), which is inefficient and results in high disk cost and wasted capacity due to the low utilization.
Trends for Archive Data
Another forecasted trend is that the amount of archived data will continue to grow rapidly in coming years. However, at the same time, according to the forecasts of capacity growth for respective storage device types, most of the large growth will made by general purpose devices, such as SAN/DAS (storage area network/direct access storage), instead of through more advanced storage technologies such as CAS (content aware storage). Since archived data typically is not accessed very often, users will not usually require CAS features, such as the intelligent search function of CAS. Accordingly, most archive data will probably continue to be stored in general SAN devices.
Current Solutions and Their Problems
The trends of high disk capacity growth vs. low disk performance growth creates a performance bottleneck at each disk since a single disk will hold a huge amount of data, and the disk interface will not have enough speed to process multiple access requests for the data. To avoid this bottleneck the amount of data stored on a disk should not exceed the capability of the disk interface. A similar bottlenecking problem can occur on a thin provisioning storage system. Because a thin provisioning storage system encapsulates the physical structure of the device, allocated thin-provisioned storage extents might be repeatedly allocated from same disk (or a single disk array group composing a RAID), and the user does not know of or cannot control this behavior. Therefore, there is a need for an automated solution to control the allocation of storage extents of a thin provisioning storage for the respective disks. The control should maintain the allocations such that the amount of data stored on each disk is not more than the disk interface is able to handle for completing I/O operations at an appropriate performance level, while also maximizing the utilization of the available capacity of the storage devices.